/**
 * 给数组的每一项添加属性
 * @param {Array} array 数据源
 * @param {String} propertyName 属性名
 * @param {Any} value 属性值
 */
function addProperty(array, propertyName, value) {
    for (var i = 0; i < array.length; i++) {
        var item = array[i];
        if (Object.prototype.toString.call(item) === '[object Object]') {
            if (typeof value === 'function') {
                item[propertyName] = value(item, i, array);
            }
            else {
                item[propertyName] = value;
            }
        }
    }
    return array;
}